This invention relates to the Internet, and more particularly, to a system and method of dynamic online session caching.
Public groupware and multi-user gaming are popular new Internet applications. Applications such as online gaming is important to broadband emerging service providers (broadband ESP) today because they make an Internet site xe2x80x9csticky.xe2x80x9d The metric by which Internet sites are valued today is not only the number of hits per day but also by the average amount of time a user spends at the site (stickiness). E-gaming provides content that not only increases the number of hits, but also makes a user linger at the site. Furthermore, the longer users stay at a site, the more targeted or untargeted advertisement can be shown to the users, which translates to more revenue opportunities. Online gaming also creates the feeling of an online community that allows the broadband ESP to bundle other broadband premium services like video, streaming advertisements, music, etc.
Despite the rosy prospects, current online application functionality and performance are limited and unappealing because the users find the current environment to have jerky interaction, infrequent screen updates, unacceptably slow speed, and lack of realism. These problems are primarily due to the lack of bandwidth over the Internet. Currently, when two or more users participate in the same multi-user session, each user has to be logged in at a central computer server. Therefore, the capacity of the central computer server becomes a constraint on the number of users that can participate simultaneously. The central server becomes a bottleneck and the architecture is not easily scalable to accommodate more users. In addition to bandwidth issues, the delivery speed of web content is insufficient to make the current environment truly dynamic and interactive. As a result, although a community of online game players currently participate and play games over the Internet, their numbers have been limited to an exclusive hard core group of users.
It may be seen from the foregoing that it would be desirable to speed up web content delivery to the users by anticipating or predicting, to some extent, the web content needed by the users.
In accordance with an embodiment of the present invention, the present invention provides a system that includes a plurality of cache engines coupled to a computer network such as the Internet, and a cache memory associated with each of the plurality of cache engines. The cache memory is allocated to store information of a plurality of users participating in an online communication session. Each user is allocated a normal section and an exception section in the cache memory, the normal section storing predictable behavior of the user and the exception section storing unpredictable behavior of the user. All users"" session environment is updated by sending information on whether a specific user""s behavior is predictable or unpredictable and by retrieving the appropriate user behavior from the normal or exceptions sections in the local cache memory.
In accordance with another embodiment of the present invention, a method includes the steps of allocating cache memory space for each user participating in an online communication session, dividing the allocated cache memory space for each user into a normal section for storing predictable user behavior and an exception section for storing unpredictable user behavior, and synchronizing the online communication session for all the users by sending information regarding whether a specific user""s behavior is predictable or unpredictable and retrieving appropriate cached user behavior.
In accordance with yet another embodiment of the present invention, a cache engine includes a cache memory, which is allocated to store information of a plurality of users participating in an online communication session. Each user is allocated a normal section and an exception section in the cache memory, where the normal section stores predictable behavior of the user and the exception section stores unpredictable behavior of the user. A normal/exception handler is operable to determine whether a user""s behavior is predictable or unpredictable and which cached user behavior is to be multicasted to the other users.
In accordance with yet another embodiment of the present invention, a computer-readable medium storing a method includes the steps of determining a normal section memory size for storing predictable player behavior and an exception section memory size for storing unpredictable player behavior for each player participating in an online gaming session, dynamically allocating the cache memory space for each player, and synchronizing the online gaming session display for all the players by sending information regarding whether a specific player""s behavior is predictable or unpredictable, multicasting this information, and retrieving appropriate locally cached player behavior in response to the multicasted information.
The present invention provides the advantage of enabling dynamic and real-time online communication sessions without requiring a large bandwidth. The information transmitted is used to tap into a cache memory of each user to retrieve relevant locally cached user behavior information to update each user""s operating environment. The actual user input or player move is not multicasted to each user. As a result, the overall functionality of the web caching concept is greatly improved to handle the dynamic memory allocation and to facilitate the normal and exception conditions during the online session. Implemented in this manner, the online session environment becomes significantly more realistic, dynamic and real-time. The users are therefore more likely to be totally immersed in this environment and online community, which contributes to the hit statistics and xe2x80x9cstickinessxe2x80x9d of the web site.